package com.gylang.easy.lazy;

import java.util.function.Consumer;

/**
 * @author gylang
 * data 2021/6/6
 */
public interface FunBuilder<T> {


	/**
	 * 抽象消费建造者 通过函数信息进行对象赋值 并返回当前对象
	 *
	 * @param consumer 设置属性
	 * @return 当前对象
	 */
	@SuppressWarnings("unchecked")
	default T funBuilder(Consumer<T> consumer) {
		T t = (T) this;
		consumer.accept(t);
		return t;
	}

}
